\subsection{{\quorum}交}\label{sec:quorum_intersect}

仅当用函数$\mybm{Q}$表示的{\quorum}切片满足一种有效性属性的时候协议才能保证可达到一致，我们把这一属性称为{\quorum}交。

\begin{definition}[{\quorum}交]
	一个FBAS包含\textbf{{\quorum}交}当且仅当它的任意两个{\quorum}共享一个节点，即$\forall U_1\in\mybm{Q},U_2\in\mybm{Q},U_1\cap U_2\neq\emptyset$。
\end{definition}

\begin{figure}
\centering
\begin{tikzpicture}
\node[node] (v2) at (0,0) {$v_2$};
\node[node] (v1) at (60:2) {$v_1$};
\node[node] (v3) at (0:2) {$v_3$};
\draw[transition,<->] (v1) -- (v2);
\draw[transition,<->] (v2) -- (v3);
\draw[transition,<->] (v3) -- (v1);
\node[overlay,left=5mm of v2.base,text width=2.2cm,anchor=base east,
  align=left]
  {\vbox{$\Q{v_1}=\Q{v_2}=\Q{v_3}=\{\{v_1,v_2,v_3\}\}$}};
\tikzset{xshift=4cm};
\node[node] (v5) at (0,0) {$v_5$};
\node[node] (v4) at (60:2) {$v_4$};
\node[node] (v6) at (0:2) {$v_6$};
\draw[transition,<->] (v4) -- (v5);
\draw[transition,<->] (v5) -- (v6);
\draw[transition,<->] (v6) -- (v4);
\node[overlay,right=5mm of v6.base,text width=2.2cm,anchor=base west,
  align=left]
  {\vbox{$\Q{v_4}=\Q{v_5}=\Q{v_6}=\{\{v_4,v_5,v_6\}\}$}};
\end{tikzpicture}
\caption{不含{\quorum}交的FBAS}
\label{fig:disjoint}
\end{figure}


图\ref{fig:disjoint}展示了一个不具有此特性的系统，这里$\mybm{Q}$允许两个{\quorum}$\left\{v_1,v_2,v_3\right\}$和$\left\{v_4,v_5,v_6\right\}$，它们彼此不相交。不相交的集合可能会独立地认可相互矛盾的陈述，暗中破坏系统范围内的一致性。当很多的{\quorum}存在时，如果存在两个不相交的话那么{\quorum}交将会失败。例如，图\ref{fig:disjoint}中的节点集合$\left\{v_1,\ldots ,v_6\right\}$是一个和另外两个{\quorum}相交的{\quorum}，但是系统本身仍然缺少{\quorum}交。

\begin{figure}
\centering
\begin{tikzpicture}
\node[node] (v2) at (0,0) {$v_2$};
\node[node] (v1) at (60:2) {$v_1$};
\node[node] (v3) at (0:2) {$v_3$};
\draw[transition,<->] (v1) -- (v2);
\draw[transition,<->] (v2) -- (v3);
\draw[transition,<->] (v3) -- (v1);
\node[overlay,left=5mm of v2.base,text width=2.7cm,anchor=base east,
  align=left]
  {\vbox{$\Q{v_1}=\Q{v_2}=\Q{v_3}=\{\{v_1,v_2,v_3,v_7\}\}$}};
\tikzset{xshift=4cm};
\node[node] (v5) at (0,0) {$v_5$};
\node[node] (v4) at (60:2) {$v_4$};
\node[node] (v6) at (0:2) {$v_6$};
\draw[transition,<->] (v4) -- (v5);
\draw[transition,<->] (v5) -- (v6);
\draw[transition,<->] (v6) -- (v4);
\node[overlay,right=5mm of v6.base,text width=2.7cm,anchor=base west,
  align=left]
  {\vbox{$\Q{v_4}=\Q{v_5}=\Q{v_6}=\{\{v_4,v_5,v_6,v_7\}\}$}};
\node[node] (v7) at ($(v1)!.5!(v4)$) {\phantom{$v_7$}};
\node[draw=few-\maincolor-bright,line cap=round,line width=1ex,
  opacity=.9,fit={(v7)},
  cross out,inner sep=-2mm] {};
\draw[transition,->] (v1) -- (v7);
\draw[white,line width=.67mm] (v2) to[bend left=10] (v7);
\draw[transition,->] (v2) to[bend left=10] (v7);
\draw[transition,->] (v3) -- (v7);
\draw[transition,->] (v4) -- (v7);
\draw[transition,->] (v5) -- (v7);
\draw[white,line width=.67mm] (v6) to[bend right=10] (v7);
\draw[transition,->] (v6) to[bend right=10] (v7);
\node at (v7) {$v_7$};
\node[above=0ex of v7] {$\Q{v_7}=\{\{v_7\}\}$};
\end{tikzpicture}
\caption{恶性行为节点$v_7$可能破坏{\quorum}交}
\label{fig:liar}
\end{figure}

没有一种协议能够在没有{\quorum}交的情形下保证安全性，因为这样的配置可能会以两个对对方一无所知的FBAS系统的方式运行着。然而即使有{\quorum}交，在存在恶性行为节点的情形下安全性也可能无法保证。比较有两个不相交集合的图\ref{fig:disjoint}和在恶性行为的节点$V_7$处有交的两个{\quorum}的图\ref{fig:liar}。如果$v_7$产生对左右两个{\quorum}产生两个不相容的陈述，其结果等价于不相交{\quorum}。

事实上，由于恶性节点对安全性毫无用处，任何一个协议必须在良性行为节点在它们自己那里享有{\quorum}交的情形下才能保证安全性。毕竟，在安全性最坏的场景下，所有的恶性行为的节点都可能持续性地做出不一致的陈述来使得{\quorum}产生分歧。两个仅在恶性节点处相重叠的{\quorum}由于恶性节点的欺骗同样会像运行在两个不同的FBAS系统里一样。总之，FBAS$\langle \mybm{V},\mybm{Q}\rangle$可以在节点集合$B\subseteq \mybm{V}$的拜占庭错误中生存下来当且仅当$\langle\mybm{Q},\mybm{V}\rangle$在从$\mybm{V}$和$\mybm{Q}$中的所有切片中删除了$B$中的节点之后仍然有{\quorum}交。更形式化的描述是：

\begin{definition}[删除]
	如果$\langle\mybm{Q},\mybm{V}\rangle$是一个FBAS并且$B\subseteq \mybm{V}$是一个节点集合，那么从$\langle\mybm{V},\mybm{Q}\rangle$中\textit{删除}$B$(记作$\langle\mybm{V},\mybm{Q}\rangle^B$)，意味着计算修改过后的FBAS $\langle\mybm{V}\backslash B, \mybm{Q}^B\rangle$，这里$\mybm{Q}^B(v)=\left\{q\backslash B|q\in\mybm{Q(v)}\right\}$。
\end{definition}

每个节点$v$有责任确保$\mybm{Q}(v)$不会违背{\quorum}交。一种做法是选择保守的切片，这会导致较大的{\quorum}。当然，一个恶意的$v$可能会故意地选择能够违反{\quorum}交的$\mybm{Q}$。然而一个恶意的$v$还可能对$\mybm{Q}(v)$的值撒谎或者忽略$\mybm{Q}(v)$来做出随意的断言。总之，当$v$是恶性行为的时候$\mybm{Q}(v)$的值是没有意义的。这就是为什么安全性的必要属性——在删除恶性行为节点之后的良性行为节点仍然有{\quorum}交——是不受恶性行为节点的切片影响的。

假定图\ref{fig:disjoint}是由一个三节点$v_1$, $v_2$, $v_3$含{\quorum}交的FBAS系统进化成的一个六节点无{\quorum}交的FBAS系统。当$v_4$, $v_5$, $v_6$加入时，它们恶意地选择切片来破坏{\quorum}交，这样没有节点能够为$\mybm{V}$确保安全性。幸运的是，删除这些节点得到$\langle\mybm{Q},\mybm{V}\rangle^{\left\{v_4,v_5,v_6\right\}}$重新恢复{\quorum}交属性，这意味着至少$\left\{v_1,v_2,v_3\right\}$能够保证安全性。注意这里的删除是概念性的，用于表述最优安全性。一个协议应当为$v_1$, $v_2$, $v_3$保证安全性而不需要它们意识到$v_4$, $v_5$, $v_6$是恶性行为的。